class Solution:
from math import fabs
def shortestToChar(self, s: str, c: str) -> List[int]:
pos = []
for i in range(len(s)):
if s[i] == c:
pos.append(i)
first = pos[0]
second = pos[0]
count = 0
ans = []
for i in range(len(s)):
a = int(fabs(i - first))
b = int(fabs(second - i))
if a == 0 or b == 0:
first = second
if count<len(pos)-1:
count+=1
second = pos[count]
ans.append(min(a, b))
return ans
1722F - L-shapes | 1196B - Odd Sum Segments |
1325D - Ehab the Xorcist | 552B - Vanya and Books |
1722E - Counting Rectangles | 168A - Wizards and Demonstration |
168B - Wizards and Minimal Spell | 7A - Kalevitch and Chess |
912B - New Year's Eve | 1537C - Challenging Cliffs |
879B - Table Tennis | 1674E - Breaking the Wall |
1282A - Temporarily unavailable | 1366C - Palindromic Paths |
336A - Vasily the Bear and Triangle | 926A - 2-3-numbers |
276D - Little Girl and Maximum XOR | 1253C - Sweets Eating |
1047A - Little C Loves 3 I | 758D - Ability To Convert |
733A - Grasshopper And the String | 216A - Tiling with Hexagons |
1351B - Square | 1225A - Forgetting Things |
1717A - Madoka and Strange Thoughts | 1717B - Madoka and Underground Competitions |
61B - Hard Work | 959B - Mahmoud and Ehab and the message |
802G - Fake News (easy) | 1717C - Madoka and Formal Statement |